قبل نسخ ولصق أي كود برمجي أو مكتبة أو مصدر بيانات تجده على الإنترنت من الضروري أن تفهم رخصته جيدًا وتعرف كيف تتعامل معها بالطريقة المناسبة التي تجنبك أي مشكلات قانونية
أنواع رخص البرمجيات
1. رخص النشر العكسي Copyleft
تتطلب إبقاء أي تعديل أو تطوير على الكود مفتوح المصدر لضمان استمرار مساهمة المجتمع. من الأمثلة عليه: GNU AGPLv3, GNU GPLv3.
2. الرخص المرنة Permissive
تسمح باستخدام الكود بحرية في مشاريع مفتوحة المصدر أو خاصة. من الأمثلة عليها: MIT, Apache License.
المتطلبات الرئيسية التي قد تحتويها الرخص
- التحكم في الاستخدام: تمييز بين الاستخدام التجاري (بيع، إعلانات، منتجات مدفوعة، ذكاء اصطناعي تجاري) والاستخدام الخيري.
- قيود الذكاء الاصطناعي: اشتراط إذن صريح لاستخدام البيانات أو الكود في تدريب النماذج، مع تقنيات حماية (علامات مائية، بيانات وصفية).
- الالتزام بمشاركة الكود: لضمان مساهمة التطوير في المجتمع
أمثلة على كل نوع من التراخيص
قيود الرخص الحالية
المزيد حول رخصة GPL
تعد رخصة GPL أو رخصة General Public License العمومية أشهر نوع من تراخيص البرمجيات مفتوحة المصدر. فهيتتيح للمستخدمين استخدام وتعديل وتوزيع البرمجيات بحرية، ولكن بشرط رئيسي: أي برنامج يحتوي على شيفرة مرخّصة بـ GPL يجب توزيعه أيضًا بنفس الرخصة، أي أن الشيفرة المصدرية يجب أن تكون متاحة للجميع.
بمعنى أنها تمنحك الحرية لكن مع مسؤولية: يمكنك استخدام وتعديل برمجيات GPL مجانًا، لكن إذا وزعتها (حتى مع تعديلاتك)، يجب أن تشارك الشيفرة المصدرية.
كما أن عليك الالتزام بشرط حقوق متروكة (Copyleft): أي برنامج يدمج شيفرة GPL يجب أن يُوزع بنفس الرخصة إذا كان موجهاً للتوزيع.
دراسة حالة: عين وسين
السيناريو 1: عين يستخدم تطبيق "XY" (مرخّص بـ GPL) داخل برنامجه
التزام عين:
إذا دمج عين تطبيق XY داخل برنامجه ووزّعه:
يجب أن يصدر برنامجه بالكامل برخصة GPL.
يجب مشاركة الشيفرة المصدرية مع أي شخص يحصل على البرنامج.
مثال: عين يطور برنامج إدارة مهام، ويستخدم مكتبة XY لتحسين عرض الجداول. بمجرد توزيعه البرنامج، يجب أن يكون كله مفتوح المصدر.
السيناريو 2: سين يعدّل تطبيق XY
التزام سين:
إذا قام سين بتعديل شيفرة XY ووزعها:
يجب نشر الشيفرة المعدّلة علنًا.
أي جزء مرتبط بـ XY يجب أن يبقى مرخّصًا بـ GPL.
مثال: سين يضيف خاصية بحث ذكي داخل XY ويشارك البرنامج مع عملائه. هنا يجب نشر التعديلات تحت GPL.
وبالتالي
كيف يمكن لعين وسين حماية برمجياتهم من الالتزام بفتح المصدر؟
- تجنّب إدراج شيفرة GPL مباشرة: باستخدم مكتبات بترخيص مرن مثل MIT أو Apache أو كتابة الكود من الصفر.
- تشغيل XY كبرنامج منفصل: أي تشغيله كخدمة مستقلة أو عبر API دون دمج الكود مباشرة.
- الاعتماد على LGPL بدلاً من GPL: فهو يسمح بالربط بالمكتبة دون إلزام بجعل البرنامج مفتوح المصدر (طالما لم يتم تعديل المكتبة). شراء ترخيص تجاري: فبعض المشاريع توفر خيار شراء ترخيص تجاري لتجنب شروط GPL.